/*
 Problem Description
输入n(n<100)个数，找出其中最小的数，将它与最前面的数交换后输出这些数。
Input
输入数据有多组，每组占一行，每行的开始是一个整数n，表示这个测试实例的数值的个数，跟着就是n个整数。n=0表示输入的结束，不做处理。
Output
对于每组输入数据，输出交换后的数列，每组输出占一行。
Sample Input
4 2 1 3 4
5 5 4 3 2 1
0
Sample Output
1 2 3 4
1 4 3 2 5
 */
package com.yuan.algorithms.training20150719;

import java.util.Scanner;

public class 数据的交换输出 {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		while (sc.hasNext()) {
			int n = sc.nextInt();
			if (n == 0) {
				break;
			}
			int[] arr = new int[n];
			int min = 0xfffffff;
			int index = -1;
			for (int i = 0; i < arr.length; i++) {
				arr[i] = sc.nextInt();
				if (arr[i] < min) {
					min = arr[i];
					index = i;
				}
			}
			int temp = arr[index];
			arr[index] = arr[0];
			arr[0] = temp;
			for (int i = 0; i < arr.length; i++) {
				if (i==0) {
					System.out.print(arr[i]);
				}else {
					System.out.print(" "+arr[i]);
				}
			}
			System.out.println();
		}
	}

}
